if('undefined' != typeof Zepto) {
    (function ($) {
        $.extend($.fn, {
            cookie: function (key, value, options) {
                var days, time, result, decode

                // A key and value were given. Set cookie.
                if (arguments.length > 1 && String(value) !== "[object Object]") {
                    // Enforce object
                    options = $.extend({}, options)

                    if (value === null || value === undefined) options.expires = -1

                    if (typeof options.expires === 'number') {
                        days = (options.expires * 24 * 60 * 60 * 1000)
                        time = options.expires = new Date()

                        time.setTime(time.getTime() + days)
                    }

                    value = String(value)

                    return (document.cookie = [
                        encodeURIComponent(key), '=',
                        options.raw ? value : encodeURIComponent(value),
                        options.expires ? '; expires=' + options.expires.toUTCString() : '',
                        options.path ? '; path=' + options.path : '',
                        options.domain ? '; domain=' + options.domain : '',
                        options.secure ? '; secure' : ''
                    ].join(''))
                }

                // Key and possibly options given, get cookie
                options = value || {}

                decode = options.raw ? function (s) {
                    return s
                } : decodeURIComponent

                return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null
            }

        })
    })(Zepto);
}

var Util = Util || {};



Util.modelClose = function(o, m) {
    o.fadeOut(function() {
        o.remove();
    });
    m.fadeOut(function() {
        m.remove();
        $('body').css("overflow","auto");
    })
};

//Util.WXShareShow = function(inparams) {
//    var params = {
//        maskerID: 'modelOverlay',
//        contentID: 'modelContent',
//        alpha: 0.7,
//        bgColor: '#000',
//        dbclick: true,
//        keydown: true,
//        mZindex: 9997,
//        cZindex: 9999
//    };

//    if (inparams && typeof(inparams) == 'object') {
//        for (var key in inparams) {
//            if (key.match(/^_/)) {
//                continue
//            }
//            params[key] = inparams[key]
//        }
//    };
//    var html = '<div id="'+ params.maskerID +'" style="position:fixed;left:0;top:0;right:0;bottom:0;z-index:' + params.mZindex + ';background-color:rgba(0,0,0,.7);">' +
//        '<img style="width: 100%;" src="http://7xlxny.com1.z0.glb.clouddn.com/h5/v2/home/share-guide.png"/></div>';
//    $('body').css("overflow","hidden");
//    $(html).appendTo('body').fadeIn(200);

//    var modelBox = $('#' + params.maskerID);
//    var modelBody = $('#' + params.contentID);
//    if (params.dbclick) {
//        modelBox.click(function(e) {
//            e = e || window.event;
//            var ele = e.srcElement ? e.srcElement : e.target;
//            Util.modelClose(modelBox, modelBody);
//        })
//    }
//    if (params.keydown) {
//        document.onkeydown = function(event) {
//            event = window.event || event;
//            var keyCode = event.keyCode || event.which || event.charCode;
//            if (event.keyCode == 27) {
//                Util.modelClose(modelBox, modelBody);
//            }
//        }
//    }
//}

Util.getQueryString = function(url){
    if(url.split('?').length <= 1){
        return {};
    }
    var queryString = url.split('?')[1];
    if(!queryString) return;
    queryString = queryString.split('&');
    var queries = {};
    for(var i= 0,len=queryString.length;i<len;i++){
        var tmp = queryString[i].split('=');
        queries[''+tmp[0]] = tmp[1];
    }
    return queries;
}

//Util.loadTopicComment = function(){
//    var tca = $('.topic-comment-area');
//    if(!tca || tca.length <= 0){
//        return;
//    }

//    var queries = Util.getQueryString(window.location.href);
//    var topicId = $('#topicId').val();
//    if(queries && queries['id']) {
//        topicId = queries['id'];
//    }
//    if(topicId){
//        $.ajax({
//            url:'/appview/topicCommentList',
//            type:'GET',
//            dataType:'json',
//            data:{
//                'id':topicId,
//                'currentPage':1,
//                'pageSize':3
//            },
//            success:function(data){
//                if(data.code == 1){
//                    Util.createTopicCommentHTML(data.data,tca);
//                }
//            }
//        });
//    }
//}

//Util.createTopicCommentHTML = function(data,tca){
//    if(data.length <= 0){
//        return;
//    }
//    var currUrl = window.location.href;
//    var openAppUrl = 'http://m.ibantang.com/dp/';
//    if(currUrl.indexOf('/topic/') >= 0){
//        openAppUrl = 'http://m.ibantang.com/dp/topic/'+$('#topicId').val();
//    }
//    if(currUrl.indexOf('/product/') >= 0){
//        openAppUrl = 'http://m.ibantang.com/dp/product/'+$('#productId').val();
//    }
//    if(currUrl.indexOf('/post/') >= 0){
//        openAppUrl = 'http://m.ibantang.com/dp/post/'+$('#postId').val();
//    }

//    var htmlStr = '<div class="comment-list" style="position: relative;background-color: #f4f4f4;z-index: 3;margin:0 auto 5px;width: 100%;max-width: 640px;">';
//    htmlStr += '<p style="font-size: 14px;color: #999;line-height: 16px;padding: 15px 20px 0;background-color: #fff;">评论</p>';
//    htmlStr += '<div class="inner" style="background-color: #fff;padding: 0 20px;margin:0;">';
//    for(var i= 0,len=data.length;i<len;i++){
//        htmlStr += '<div class="comment-item" style="padding: 20px 0;border-bottom: 1px solid #f4f4f4;background-color: #fff;">';
//        htmlStr += '<div class="avatar" style="float:left;;width:30px;height:30px;border-radius:15px;background: #f4f4f4 url('+data[i].user.avatar+') center no-repeat;background-size:cover;"></div>';
//        htmlStr += '<div class="info" style="padding:0 0 0 40px;height: auto;">';
//        htmlStr += '<p class="nickname-time" style="height: 13px;line-height: 13px;padding-top: 4px;">';
//        htmlStr += '<span class="nickanme" style="float: left;color: #5D9CBC;font-size: 13px;">'+data[i].user.nickname+'</span>';
//        htmlStr += '<span class="time" style="float: right;font-size: 12px;color: #bfbfbf;">'+data[i].datestr+'</span></p>';
//        htmlStr += '<p class="content" style="padding: 13px 0 0 0;color: #919191;font-size: 13px;line-height: 1.6;">'+data[i].conent+'</p>';
//        if(data[i].at_comment && data[i].at_comment.conent){
//            htmlStr += '<p class="at-comment" style="position: relative;background-color: #f8f8f8;padding: 9px 14px;color: #bfbfbf;font-size: 12px;line-height: 1.6;margin-top: 10px;border-radius: 2px;"><i style="position: absolute;top:-12px;width: 0;height: 0;border: 6px solid #fff;border-bottom: 6px solid #f8f8f8;"></i><span style="color:#5D9CBC;">'+data[i].at_comment.user.nickname+'</span>：'+data[i].at_comment.conent+'</p>';
//        }
//        htmlStr += '</div>';
//        htmlStr += '</div>';
//    }
//    htmlStr += '<p class="more deep-share-link" data-dp-link="'+openAppUrl+'" style="padding: 20px 0;font-size: 12px;text-align: center;color:#565656;">打开&nbsp;<span style="color:#ec5252;">半糖App</span>，查看更多评论和回复</p>';
//    htmlStr += '</div>';
//    htmlStr += '</div>';
//    tca.html(htmlStr);
//    Util.deepShareLinks('deep-share-link');
//    $('.comment-list .more').on('click',function(){
//        Util.gaEventMethod('global:click:more_topic');
//    });
//}

//Util.loadTopicRelationRec = function(topicId,obj){
//    var createTopicRelationRecHTML = function(topic){
//        if(topic.length <= 0){
//            return;
//        }
//        var len = 5;
//        if(topic.length < 5){
//            len = topic.length;
//        }
//        var htmlStr = '<div class="relation-rec">' +
//            '<h4 class="head">相关专题</h4>';
//        for(var i=0;i<len;i++){
//            var t = topic[i];
//            htmlStr += '<a href="/topic/'+ t.id +'/">';
//            htmlStr += '<div class="relation-rec-item">' +
//            '<div class="rr-cover" style="background-image: url('+ (t.pic || t.pics[0].url) +');"></div>' +
//            '<div class="rr-info">' +
//            '<p class="rr-title elli">'+ t.title +'</p>' +
//            '<div class="rr-stat">' +
//            '<div class="rr-user"><div class="rr-avatar" style="background-image: url('+ t.user.avatar +');"></div><p class="rr-nickname">'+ t.user.nickname +'</p></div>' +
//            '<div class="rr-count"><i class="views"></i>'+ t.views +'<i class="likes"></i>'+ t.likes +'</div>' +
//            '</div>' +
//            '</div>' +
//            '</div>';
//            htmlStr += '</a>';
//        }
//        htmlStr += '<a class="more-rr-btn deep-share-link" data-dp-link="http://m.ibantang.com/dp/" href="javascript:;">打开半糖App，查看更多好物推荐</a>';
//        htmlStr += '</div>';

//        obj.html(htmlStr);
//        Util.deepShareLinks('deep-share-link');
//        $('.relation-rec-item').on('click',function(){
//            Util.gaEventMethod('global:click:recommend_topic_item');
//        });
//        $('.more-rr-btn').on('click',function(){
//            Util.gaEventMethod('global:click:more_recommend_topic');
//        });
//    }

//    $.ajax({
//        url:'/topic/relationRec',
//        type:'GET',
//        dataType:'json',
//        data:{
//            'id':topicId
//        },
//        success:function(data){
//            if(data.code == 1){
//                createTopicRelationRecHTML(data.data.topic);
//            }
//        }
//    });
//}

//Util.loadTopicHotList = function(topicId,obj){
//    var createTopicHotListHTML = function(topic){
//        if(topic.length <= 0){
//            return;
//        }
//        var len = 10;
//        if(topic.length < 10){
//            len = topic.length;
//        }
//        var htmlStr = '<div class="hot-topic">' +
//            '<h4 class="head">半糖一周最热</h4>';
//        for(var i=0;i<len;i++){
//            var t = topic[i];
//            htmlStr += '<a href="/topic/'+ t.id +'/">';
//            htmlStr += '<div class="hot-topic-item">' +
//            '<div class="ht-cover" style="background-image: url('+ (t.pic || t.pics[0]) +');"></div>' +
//            '<div class="ht-info">' +
//            '<p class="ht-title">'+ t.title +'</p>' +
//            '<p class="ht-stat">浏览&nbsp;'+ t.views +'<b class="ht-v-cut"></b>喜欢&nbsp;'+ t.likes +'</p>' +
//            '<div class="ht-cut"></div>' +
//            '<div class="ht-user"><i class="ht-avatar" style="background-image: url('+ t.user.avatar+');"></i>'+ t.user.nickname +'<b class="ht-v-cut"></b>'+ t.create_time_str +'</div>' +
//            '</div>' +
//            '</div>';
//            htmlStr += '</a>';
//        }
//        htmlStr += '</div>';

//        obj.html(htmlStr);
//        $('.hot-topic-item').on('click',function(){
//            Util.gaEventMethod('global:click:hot-topic-item');
//        });
//    }

//    $.ajax({
//        url:'/topic/hotList',
//        type:'GET',
//        dataType:'json',
//        data:{
//            'typeId':0
//        },
//        success:function(data){
//            if(data.code == 1){
//                createTopicHotListHTML(data.data.topic);
//            }
//        }
//    });
//}

Util.lazyLoad = function(cn){
    var lazyImg = $('.'+cn);

    lazyImg.each(function(){
        var _this = $(this);
        var url = _this.attr('data-original');

        $('<img />').one('load',function(){
            if(_this.is('img')){
                _this.attr('src',url);
            }else{
                _this.css('background-image','url('+url+')');
            }
            setTimeout(function(){
                _this.css('opacity','1');
            },15);
        }).one('error',function(){
            _this.css('opacity','1');
        }).attr('src',url);
    });
}

//Util.bantangVersion = function(){
//    var ua = window.navigator.userAgent+' ';
//    var version = ua.match(/bantang\/.+? /);
//    if(!version){
//        return;
//    }
//    version = version[0];
//    version = version.substring(8);
//    version = version.split('.');

//    var newVersion = '';
//    for(var i=0;i<4;i++){
//        if(version[i]){
//            newVersion += (version[i]*1 + 1000).toString().substring(1);
//        }else{
//            newVersion += '000';
//        }
//    }

//    return newVersion*1;
//}

Util.isMobile = {
    Android: function() {
        return navigator.userAgent.match(/Android/i) ? true : false;
    },
    BlackBerry: function() {
        return navigator.userAgent.match(/BlackBerry/i) ? true : false;
    },
    iOS: function() {
        return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;
    },
    Windows: function() {
        return navigator.userAgent.match(/IEMobile/i) ? true : false;
    },
    Weixin: function(){
        return navigator.userAgent.match(/MicroMessenger/i) ? true : false;
    },
    Bantang: function(){
        return navigator.userAgent.match(/bantang/i) ? true : false;
    },
    any: function() {
        return (Util.isMobile.Android() || Util.isMobile.BlackBerry()
        || Util.isMobile.iOS() || Util.isMobile.Windows() || Util.isMobile.Weixin());
    }
};



Util.scrollTo = function(scrollTo, time) {
    var scrollFrom = parseInt(document.body.scrollTop),
        i = 0,
        runEvery = 5;

    scrollTo = parseInt(scrollTo);
    time /= runEvery;

    var interval = setInterval(function () {
        i++;

        document.body.scrollTop = (scrollTo - scrollFrom) / time * i + scrollFrom;

        if (i >= time) {
            clearInterval(interval);
        }
    }, runEvery);
}

Util.scrollEvent = function(handler,h){
    $(document).on('scroll',function(){
        var _top = $('body').scrollTop(),
            scroll_height = document.documentElement.scrollHeight,
            client_height = document.documentElement.clientHeight;
        if(_top + client_height >= (scroll_height-h)){
            handler();
        }
    });
}

Util.linkedmeInit = function(cb){
    if('undefined' == typeof linkedme){
        return;
    }
    var lkm_data = {};
    lkm_data.type = "test";
    linkedme.init("e35767f329c6f554e7fc01ab809e8017", lkm_data, function(err, data){
        if(err){
            // 初始化失败
        } else {
            // 初始化成功
        }
        cb();
    });
}

//Util.deepShareLinks = function(cn){
//    var dsl = $('.'+cn);
//    dsl.each(function(i){
//        var _this = $(this);
//        var os = 'other';
//        if(Util.isMobile.iOS()){
//            os = 'iOS';
//        }else if(Util.isMobile.Android()){
//            os = 'Android';
//        }
//        var paramsJson = {
//            inapp_data:{
//                url:_this.data('dp-link'),
//                ref:window.location.href,
//                os:os,
//                browser:window.navigator.userAgent
//            }
//        };

//        var lkm_data = {};
//        lkm_data.type = "test";
//        lkm_data.params = JSON.stringify(paramsJson);
//        lkm_data.req_version = encodeURIComponent(_this.data('dp-link'));

//        linkedme.link(lkm_data, function (err, data) {
//            if (err) {
//                _this.attr('href', _this.data('dp-link'));
//            } else {
//                _this.attr('data-ds-link',data.url);
//            }
//        }, false);

//        // $.ajax({
//        //     url:'https://fds.so/v2/url/21e0c7d8bf287288',
//        //     type:'POST',
//        //     dataType:'string',
//        //     data:JSON.stringify(paramsJson),
//        //     success:function(result){
//        //         result = JSON.parse(result);
//        //         _this.data('ds-link',result.url);
//        //     },
//        //     error:function(){
//        //         _this.attr('href',_this.data('dp-link'));
//        //     }
//        // });
//    });

//    dsl.unbind('click').on('click',function() {
//        var _this = $(this);
//        if(_this.hasClass('opt-download-show')){
//            var toUrl = 'http://m.ibantang.com/dp/';
//            if(_this.data('ds-link')){
//                toUrl = _this.data('ds-link');
//            }
//            Util.DownloadShow({
//                url:toUrl,
//                content:'用<span style="color:#333;padding: 0 2px;">半糖App</span>打开<br><span style="color:#fd6363;">收藏、购买</span>心仪好物更方便！'
//            });
//        }else if(_this.hasClass('comment-download-show')){
//            var toUrl = 'http://m.ibantang.com/dp/';
//            if(_this.data('ds-link')){
//                toUrl = _this.data('ds-link');
//            }
//            Util.DownloadShow({
//                url:toUrl,
//                content:'用<span style="color:#333;padding: 0 2px;">半糖App</span>打开<br>参与更多<span style="color:#fd6363;">互动、评论</span>'
//            });
//        }else if(_this.hasClass('normal-download-show')){
//            var toUrl = 'http://m.ibantang.com/dp/';
//            if(_this.data('ds-link')){
//                toUrl = _this.data('ds-link');
//            }
//            Util.DownloadShow({
//                url:toUrl
//            });
//        }else{
//            if(_this.data('ds-link')){
//                Util.gaEventMethod('global:click:deep_share');
//                location.href = _this.data('ds-link');
//            }else{
//                location.href = 'http://m.bantangapp.com/appview/downapp.html';
//            }
//        }
//    });
//}

//Util.cutMainContent = function(cn,h){
//    var obj = $('.'+cn);
//    if(obj && obj.height() > h){
//        obj.css({
//            'overflow':'hidden',
//            'position':'relative'
//        });
//        obj.css('height',h+'px');
//        obj.append('<p class="read-complete">阅读全文<i class="arr-down-blue"></i></p>');
//        $('.read-complete').on('click',function(){
//            obj.css('height','auto');
//            $(this).remove();
//            Util.gaEventMethod('global:click:read_the_full_article');
//        });
//    }
//}

//Util.gaEvent = function(){
//    if(window.location.href.indexOf('m.ibantang.com') < 0){
//        return;
//    }
//    $('[data-ga-event]').on('click',function(){
//        var _this = $(this);
//        var gaEventStr = _this.attr('data-ga-event');
//        Util.gaEventMethod(gaEventStr);
//    });
//}

Util.gaEventMethod = function(gaEventStr){
    var gaParmas = gaEventStr.split(':');
    if(typeof ga != 'undefined' && gaParmas.length >= 3){
        ga('send','event',gaParmas[0],gaParmas[1],gaParmas[2]);
    }
}

//Util.urlDir = function(url,type){
//    if(Util.bantangVersion() >= 5008003000){
//        url = 'bantang://com.jzyd.BanTang/openWebview?url='+encodeURIComponent(url);
//        if(type){
//            url += '&type=1';
//        }
//    }
//    window.location.href = url;
//}

function commonInit($){
    //$('.bangdan-item').on('tap', function (e) {
    //    var _this = $(this);
    //    var id = _this.attr('data-bd-id');
    //    var toUrl = '/topic/' + id + '/';
    //    if (Util.isMobile.Bantang()) {
    //        toUrl = 'bantang://com.jzyd.BanTang/topic_bangdan/detail?id=' + id;
    //    }
    //    window.location.href = toUrl;
    //});

    //Util.dockBar();

    Util.linkedmeInit(function(){
        Util.deepShareLinks('deep-share-link');
    })

    //Util.loadTopicComment();

    //Util.cutMainContent('article-wrapper', 2000);

    //Util.gaEvent();

    var seoDesc = $('.seo-desc'),
        seoDescHead = seoDesc.find('.head');
    seoDescHead.on('click',function(){
        if(seoDesc.hasClass('active')){
            seoDesc.removeClass('active').css('height','44px');
        }else{
            seoDesc.addClass('active').css('height','auto');
        }
    });
}

if('undefined' != typeof Zepto) {
    Zepto(function ($) {
        commonInit($);
    });
}else if('undefined' != typeof jQuery){
    $(function(){
        commonInit($);
    });
}